package cn.topevery.garden.entity.po;

import cn.topevery.garden.framework.base.BaseEntity;
import hw.topevery.framework.annotation.DbTable;
import hw.topevery.framework.annotation.DbTableField;
import hw.topevery.framework.enums.DbTypeEnum;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 项目附件表
 *
 * @author code-generate
 * @date 2022-11-02
 */
@Data
@DbTable(tableName = "t_proj_files")
public class ProjFiles extends BaseEntity {

    /**
     * 文件ID
     */
    @DbTableField(columnName = "c_file_id", dbType = DbTypeEnum.VARCHAR)
    public String fileId;

    /**
     * 文件名称
     */
    @DbTableField(columnName = "c_file_name", dbType = DbTypeEnum.VARCHAR)
    public String fileName;

    /**
     * 文件路径
     */
    @DbTableField(columnName = "c_file_url", dbType = DbTypeEnum.VARCHAR)
    public String fileUrl;

    /**
     * 文件类型编码 (0、图片，1、视频，2、音频，3、其他)
     */
    @DbTableField(columnName = "c_file_type_code", dbType = DbTypeEnum.INTEGER)
    public Integer fileTypeCode;

    /**
     * 文件大小
     */
    @DbTableField(columnName = "c_file_size", dbType = DbTypeEnum.DECIMAL)
    public BigDecimal fileSize;

    /**
     * 数据类型（1 pdf, 2. excel, 3.word)
     */
    @DbTableField(columnName = "c_data_type", dbType = DbTypeEnum.INTEGER)
    public Integer dataType;

    /**
     * 项目ID
     */
    @DbTableField(columnName = "c_proj_id", dbType = DbTypeEnum.VARCHAR)
    public String projId;

    /**
     * 项目立项ID
     */
    @DbTableField(columnName = "c_proj_init_id", dbType = DbTypeEnum.VARCHAR)
    public String projInitId;

    /**
     * 项目阶段ID（对应各阶段的主表ID）
     */
    @DbTableField(columnName = "c_proj_stage_id", dbType = DbTypeEnum.VARCHAR)
    public String projStageId;

    /**
     * 对应t_proj_stage_file_code表，项目阶段类型编码（proj_basic：项目基本信息，proj_situation_record：项目前期情况, proj_bid 招投标基本情况, proj_contract 项目合同信息, proj_plan 项目实施计划信息, proj_payment 项目支付进度信息, proj_audit 项目结算决算信息等
     */
    @DbTableField(columnName = "c_proj_stage_type_code", dbType = DbTypeEnum.VARCHAR)
    public String projStageTypeCode;

    /**
     * 项目附件类型编码（对应各阶段的文件类型, 比如项目前期情况：会议纪要、立项批复）
     */
    @DbTableField(columnName = "c_type_code", dbType = DbTypeEnum.VARCHAR)
    public String typeCode;

    /**
     * 项目附件类型名称（对应各阶段的文件类型）
     */
    @DbTableField(columnName = "c_type_name", dbType = DbTypeEnum.VARCHAR)
    public String typeName;

    /**
     * 备注
     */
    @DbTableField(columnName = "c_remark", dbType = DbTypeEnum.VARCHAR)
    public String remark;

    /**
     * 排序号
     */
    @DbTableField(columnName = "c_order_num", dbType = DbTypeEnum.INTEGER)
    public Integer orderNum;

}
